#-*- codeing = utf-8 -*-
#@Time : 2020/10/30 15:40
#@Author : 阳某
#@File : 11.python绘制小提琴图.py
#@Software : PyCharm


'''
小提琴图（violin plot）用于显示数据分布及其概率密度：

图形中间相当于箱线图：黑色粗条代表四分位范围，分别展示中位数、25%分位数、75%分位数；
两侧的曲线代表核密度图：越胖表示该位置的数据数量越多
'''
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="whitegrid")

df = pd.read_csv("./datas/insurance/insurance.csv")
print(df.head())
plt.figure(figsize=(10, 6))
sns.violinplot(x=df["charges"])
# plt.show()

# 性别男女与保险费的关系分布
plt.figure(figsize=(10, 6))
sns.violinplot(x="sex", y="charges", data=df)
# plt.show()

# 4. 是否抽烟与保险费的关系分布
plt.figure(figsize=(10, 6))
sns.violinplot(x="smoker", y="charges", data=df)
plt.show()

# 5. 孩子个数与保险费的关系分布
plt.figure(figsize=(10, 6))
sns.violinplot(x="children", y="charges", data=df)

# plt.s6. 年龄与保险费的关系分布

df["age"] = (df["age"]/10).astype(int)
plt.figure(figsize=(10, 6))
sns.violinplot(x="age", y="charges", data=df)